The Internet and, more particularly, the world wide web (WWW) portion, has developed tremendously over the past decade. The development of the WWW is now one of the primary means for people and various organizations (e.g., companies, not-for-profit organizations, individuals, etc.) to communicate and contact persons or other organizations. The interaction between a web site provider and a reader may be predominately one-way (e.g., data flowing predominately from the web site provider to the reader) or two-way.
As a result of the explosive development and use of the WWW, the use of markup languages has become quite common. Most common amongst these is the HyperText Markup Language (HTML). Many web sites are simply a collection of hyperlinked (or “linked”) HTML files. The individual HTML files typically include both content (e.g., information that is being conveyed to the reader) and formatting information (e.g., display data used to format the visual characteristics of the content on a screen). There has been some use of stylesheets (a stylesheet is a file that is used to store margins, tabs, fonts, headers, footers and other layout settings for a particular category of document. When a style sheet is selected, its format settings are applied to all the documents created under it, saving the page designer or programmer from redefining the same settings over and over again for each page) to generate web sites but the use of these stylesheets is not particularly common and certainly not widespread. Implementations of stylesheets for HTML include the Cascading Style Sheets (CSS) language.
HTML files requested by a user of web browser (e.g., Netscape Navigator, Microsoft Internet Explorer, Opera, Mozilla, etc.) are parsed by the web browser to generate (i.e., render) the visual display of data presented on the display device of the user (e.g., CRT, LCD display, etc.).
Resulting from the ubiquity of web browsers, the use of the WWW and HTML files, many people (often non-computer programmers/developers) have developed an understanding of HTML and, to a lesser extent, CSS.
Recently, the use of the extensible Markup Language (XML) has become more common and is expected to become the lingua franca of the WWW particularly and the Internet generally in the near future. XML is used for defining data elements on a Web page and business-to-business documents. It uses a similar tag structure as HTML; however, whereas HTML defines how elements are displayed, XML defines what those elements contain. HTML uses predefined tags, but XML allows tags to be defined by the developer of the page. Thus, virtually any data items, such as product, sales rep and amount due, can be identified, allowing Web pages to function like database records. By providing a common method for identifying data, XML supports business-to-business transactions and is expected to become the dominant format for electronic data interchange. However, XML can also be used to generate HTML files that can be displayed by web browsers.
Similar to the relationship between CSS and HTML, the eXtensible Stylesheet Language (XSL) relates to XML. XSL is commonly applied to the task of transforming XML data into HTML data that is suitable for presentation in a web browser through use of an eXtensible Stylesheet Language Transformation (XSLT) processor. A web developer that chooses to make use of XSL needs to be able to write XSL code that will process XML data to produce a visually appealing web page. In order to write this code, an XSL programmer will typically work from an HTML template. This HTML template provides an example to the XSL programmer of the kind of result that the transformation should produce. This HTML template may be created from scratch by the developer (or perhaps by a graphic designer or other non-computer programmers) most often using a WYSIWYG HTML editor. Often in cases where developers are migrating from other technologies to XML/XSL these HTML templates will already exist. After acquiring an appropriate HTML template the XSL programmer is faced with the task of writing the code to present the XML input in the form specified by the HTML template.
The most common approach that is currently used to perform this task of creating the XSL data involves copying sections of HTML code into XSL template bodies. This approach suffers from the fact that the presentation logic (HTML tags) and the data logic (XPaths, etc.) are jumbled together. Because the HTML code is now broken into dispersed fragments, a WYSIWYG editor can no longer be used to maintain the HTML code. Similarly the concerns of presentation and data logic can no longer be divided and assigned to different parties.
Additionally, since much of the creation of content and formatting data contained within HTML files is created by non-computer programmers (e.g., graphic designers, content creators, etc.), requiring these creators to learn, understand and develop XSL code is a monumental undertaking. Additionally, the number of developers available that have a competent understanding of XSL, XML and HTML to generate XSL so that XML files can be used to generate HTML files is not sufficient.
At least two approaches to the problems noted above in converting XML data into HTML data files are known to the inventors of the present application. In the first approach as described above, HTML data and XSL data are mixed into a single file. However, this approach has some significant drawbacks. Notably, the mixed HTML/XSL file cannot be maintained or edited using known WYSIWYG HTML editors. In the second approach, using an HTML template, the HTML template is processed to generate XSL code. This second approach while having certain advantages over the first, also has some notable shortcomings.
Accordingly, it would be desirable to provide solution which addresses these shortcomings, at least in part.